package com.dragon.modules.yuegou.model.pay;

import com.dragon.modules.yuegou.entity.pay.AliPointNotifyEntity;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * 支付宝积分回调信息接口模型类
 * 
 * @author pbuilder generated
 * @date 2023-03-20 09:58:01
 * @company sgy
 * @version 2.0
 * @see Length 长度限制
 * @see NotNull 对象非空
 * @see NotEmpty 字符串、集合、表、数组非空
 */
public class AliPointNotify extends AliPointNotifyEntity {

	/**
	 * 构造一个空支付宝积分回调信息接口模型对象
	 */
	public AliPointNotify(){
		super();
	}
	
	/**
	 * 依据实体对象的信息构造一个支付宝积分回调信息接口模型对象
	 * 
	 * @param entity 实体对象
	 */
	public AliPointNotify(AliPointNotifyEntity entity){
		super(entity);
	}

	/**
	 * 依据其它对象的信息构造一个支付宝积分回调信息接口模型对象
	 * 
	 * @param other 其它对象
	 */
	public AliPointNotify(AliPointNotify other){
		super(other);
	}


	@Override
	public String getId() {
    	return id;
    }

    /**
	 * 设置
	 * 
	 * @param id 
	 * @return 当前对象
	 */
    public AliPointNotify id(String id) {
    	this.id = id;
    	return this;
    }

	@Override
	public LocalDateTime getCreateTime() {
    	return createTime;
    }

    /**
	 * 设置创建时间
	 * 
	 * @param createTime 创建时间
	 * @return 当前对象
	 */
    public AliPointNotify createTime(LocalDateTime createTime) {
    	this.createTime = createTime;
    	return this;
    }

	@Override
	public String getBizContent() {
    	return bizContent;
    }

    /**
	 * 设置消息报文
	 * 
	 * @param bizContent 消息报文
	 * @return 当前对象
	 */
    public AliPointNotify bizContent(String bizContent) {
    	this.bizContent = bizContent;
    	return this;
    }

	@Override
	public String getCharset() {
    	return charset;
    }

    /**
	 * 设置编码集，该字符集为验签和解密所需要的字符集
	 * 
	 * @param charset 编码集，该字符集为验签和解密所需要的字符集
	 * @return 当前对象
	 */
    public AliPointNotify charset(String charset) {
    	this.charset = charset;
    	return this;
    }

	@Override
	public String getUtcTimestamp() {
    	return utcTimestamp;
    }

    /**
	 * 设置消息发送时的服务端时间
	 * 
	 * @param utcTimestamp 消息发送时的服务端时间
	 * @return 当前对象
	 */
    public AliPointNotify utcTimestamp(String utcTimestamp) {
    	this.utcTimestamp = utcTimestamp;
    	return this;
    }

	@Override
	public String getSign() {
    	return sign;
    }

    /**
	 * 设置签名
	 * 
	 * @param sign 签名
	 * @return 当前对象
	 */
    public AliPointNotify sign(String sign) {
    	this.sign = sign;
    	return this;
    }

	@Override
	public String getAppId() {
    	return appId;
    }

    /**
	 * 设置消息接受方的应用id
	 * 
	 * @param appId 消息接受方的应用id
	 * @return 当前对象
	 */
    public AliPointNotify appId(String appId) {
    	this.appId = appId;
    	return this;
    }

	@Override
	public String getVersion() {
    	return version;
    }

    /**
	 * 设置版本号(1.1版本为标准消息)
	 * 
	 * @param version 版本号(1.1版本为标准消息)
	 * @return 当前对象
	 */
    public AliPointNotify version(String version) {
    	this.version = version;
    	return this;
    }

	@Override
	public String getSignType() {
    	return signType;
    }

    /**
	 * 设置签名类型
	 * 
	 * @param signType 签名类型
	 * @return 当前对象
	 */
    public AliPointNotify signType(String signType) {
    	this.signType = signType;
    	return this;
    }

	@Override
	public String getNotifyId() {
    	return notifyId;
    }

    /**
	 * 设置通知ID
	 * 
	 * @param notifyId 通知ID
	 * @return 当前对象
	 */
    public AliPointNotify notifyId(String notifyId) {
    	this.notifyId = notifyId;
    	return this;
    }

	@Override
	public String getMsgMethod() {
    	return msgMethod;
    }

    /**
	 * 设置消息接口名称
	 * 
	 * @param msgMethod 消息接口名称
	 * @return 当前对象
	 */
    public AliPointNotify msgMethod(String msgMethod) {
    	this.msgMethod = msgMethod;
    	return this;
    }
}
